/*
 * @Author: lei
 * @Date: 2021-08-03 21:24:13
 * @LastEditTime: 2021-08-03 21:36:31
 * @LastEditors: Please set LastEditors
 * @Description: 声明、定义、初始化、赋值
 * @FilePath: /code/define_declare.cpp
 */
#include <iostream>

extern int k;//在这里是声明了k，相当于 int k; （extern被忽略）
void test1()
{
    //k=0;编译错误，因为只是 声明了k ，并没有为k分配内存空间
}

int k;//定义了k
int k=0;//对k的初始化
void test2()
{
    k=1;   
}

int j=0;//定义时赋初值，即初始化
void test3()
{
    j=1;//这是一次赋值，因为j已分配了内存空间，所以编译成功
}
int main()
{
    test1();
    test2();
    test3();
    return 0;
}